#include<bits/stdc++.h>
using namespace std;
const int  N=1e5;
int ans=0;
int a[4][2]={{1,2},{2,1},{2,-1},{1,-2}};
bool judge(int x,int y,int m,int n){
    if(x<=m&&y<=n&&x>=0&&y>=0)return 1;
    return 0;
}
void dfs(int x,int y,int m,int n){
    if(x==m&&y==n){
        ans++;
    }
    else{
        for(int i=0;i<4;i++){
            int nx,ny;
            nx=x+a[i][0];
            ny=y+a[i][1];
            if(judge(nx,ny,m,n)){
                dfs(nx,ny,m,n);
            }
        }
    }
    return;
} 
int main(){
    int m,n;
    cin>>m>>n;
    dfs(0,0,m-1,n-1);
    cout<<ans;
}